InsurancePlan API - Implementation Template (DaVinci PDEX Plan Net)
Setup guide
Please review the pre-requisite setup instructions for setting up Salesforce Health Cloud, Salesforce Connected App, and MuleSoft's HL7 Connector.
Importing Templates into Anypoint Studio
- In Studio, click the Exchange X icon in the upper left of the taskbar.
- Log in with your Anypoint Platform credentials.
- Search for the template.
- Click Open.
Running Templates in Anypoint Studio
After you import your template into Studio, follow these configuration steps to run it:
Common Configuration
mule.env
- sets the environment where the application is to be deployed. It should be configured inconfig-<mule.env>.yaml
file. For a studio deployment, the recommended mule.env value islocal
.mule.key
- sets the encryption password to be used for encrypting secure properties. Update as needed.api.autoDiscoveryID
should be configured inconfig-<mule.env>.yaml
file.
Please refer to the attached link on how to secure the configuration properties.
Salesforce Connector Configuration
MuleSoft's Salesforce Connector requires username, password, and optionally a security token to communicate with Salesforce. After obtaining the necessary credentials information configure it in the properties file located in config/properties
folder.
salesforce.username
should be configured in config-<env>.yaml
file.
salesforce.password
should be encrypted and configured in config-secured-<env>.yaml
file.
Please refer to the attached link on how to secure the configuration properties.
HTTPS Configuration
https.host
— sets the service host interface. It should be configured inconfig-<mule.env>.yaml
file. (Defaults to 0.0.0.0 for all interfaces).https.port
— sets the HTTPS service port number. It should be configured inconfig-<mule.env>.yaml
file. (Default 8082).https.defaultRecordLimit
: Sets the default search limit for the result set. (Default 20)- TLS Configuration - Keystore properties setup:
keystore.alias
- sets the alias to the keystore. It should be configured inconfig-<mule.env>.yaml
file.keystore.path
- sets the path to the key file. Key should be available in /src/main/resources/keystore. It should be configured inconfig-<mule.env>.yaml
file.keystore.keypass
— sets keystore keypass to support HTTPS operation. It should be encrypted and configured inconfig-secured-<mule.env>.yaml
file.keystore.password
— sets keystore password to support HTTPS operation. It should be encrypted and configured inconfig-secured-<mule.env>.yaml
file.
Please refer to the attached link on how to generate the Keystore.
Custom object creation in Health Cloud:
- From Health Cloud in the upper right corner click the settings (gear) icon.
- Click Setup.
- From the Home tab in the left menu, expand 'Objects and Fields' and click Object Manager.
- In the upper right corner click the Create drop down and select 'Custom Object'.
- Set the following:
- Label: HealthcareAccelerator__InsurancePlan.
- Plural Label: HealthcareAccelerator__InsurancePlans.
- Object Name: HealthcareAccelerator_InsurancePlan.
- Description: Custom object that holds FHIR InsurancePlan data.
- Record Name: InsurancePlan Name.
- Data Type: Text.
- Deployment Status: In Development. (Recommended while setting up, need to set to Deployed once ready to use.)
- Click Save.
- In the 'Fields and Relationships' page use the 'New' button and create the following fields.
Field Label | Field Name | Data Type |
---|---|---|
Administered By | AdministeredBy__c | Lookup(Account) |
Alias | Alias__c | Text(255) |
Contact Address City | ContactAddressCity__c | Text(255) |
Contact Address Country | ContactAddressCountry__c | Text(255) |
Contact Address District | ContactAddressDistrict__c | Text(255) |
Contact Address Line | ContactAddressLine__c | Text(255) |
Contact Address Postal Code | ContactAddressPostalCode__c | Text(255) |
Contact Address State | ContactAddressState__c | Text(255) |
Contact Address Text | ContactAddressText__c | Text(255) |
Contact Address Type | ContactAddressType__c | Text(255) |
Contact Name | ContactName__c | Text(255) |
Contact Purpose | ContactPurpose__c | Text(255) |
Contact Telecom System | ContactTelecomSystem__c | Text(255) |
Contact Telecom Use | ContactTelecomUse__c | Text(255) |
Contact Telecom Value | ContactTelecomValue__c | Text(255) |
Coverage Area | CoverageArea__c | Lookup(Location) |
Coverage Benefit Limit Code | CoverageBenefitLimitCode__c | Text(255) |
Coverage Benefit Limit Value Code | CoverageBenefitLimitValueCode__c | Text(255) |
Coverage Benefit Limit Value Unit | CoverageBenefitLimitValueUnit__c | Text(255) |
Coverage Benefit Limit Value Value | CoverageBenefitLimitValueValue__c | Text(255) |
Coverage Benefit Requirement | CoverageBenefitRequirement__c | Text(255) |
Coverage Benefit Type | CoverageBenefitType__c | Text(255) |
Coverage Network | CoverageNetwork__c | Lookup(Account) |
Coverage Type | CoverageType__c | Text(255) |
Created By | CreatedById | Lookup(User) |
InsurancePlan Name | Name | Text(80) |
Last Modified By | LastModifiedById | Lookup(User) |
Network | Network__c | Lookup(Account) |
Owned By | OwnedBy__c | Lookup(Account) |
Owner | OwnerId | Lookup(User,Group) |
Period End | PeriodEnd__c | Date/Time |
Period Start | PeriodStart__c | Date/Time |
Plan Coverage Area | PlanCoverageArea__c | Lookup(Location) |
Plan Idenifier | PlanIdenifier__c | Text(255) |
Plan Network | PlanNetwork__c | Lookup(Account) |
Plan Type | PlanType__c | Text(255) |
Source System Id | SourceSystemId__c | Text(255) |
Status | Status__c | Text(255) |
Type | Type__c | Text(255) |
Run it
- Right-click the template project folder.
- Hover your mouse over 'Run as'.
- Click Mule Application (configure).
- Inside the dialog, select Environment and set the variable mule.env to the appropriate value (e.g., dev or local).
- Inside the dialog, select Environment and set the variable mule.key.
- Click Run.
Deployment instructions for CloudHub using provided scripts
Ensure the Maven profile CloudHub-DEV
has been properly configured in your settings.xml
file. Reference can be found by downloading the Accelerator Setup Guide asset. Additional instructions are available in Accelerator Setup Guide - Configuring the Accelerator Build
section.
Update the config-<env>.yaml
properties appropriately and then use one of the following scripts to deploy the application to CloudHub:
- packageDeploy.sh or deployOnly.sh (Mac/Linux)
- packageDeploy.cmd or deployOnly.cmd (Windows)
Test it
- Use Advanced Rest Client or Postman to send a request over HTTPS. The template includes a postman collection in the
src/test/resources
folder. Update the collection variable(s) after successful import.